﻿using System;

namespace Vra.DataAccess.Attributes
{
	/// <summary>
	/// Атрибут будет указывать,что нужно использовать указанное свойство
	/// </summary>
	[AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = false)]
	public class ColumnAttribute : Attribute
	{
		/// <summary>
		/// Имя поля в наборе данных IDbDataReader
		/// </summary>
		public string Name { get; set; }

		/// <summary>
		/// Обязательное ли поле
		/// </summary>
		public bool Required { get; set; }

		/// <summary>
		/// Счетчик ли
		/// </summary>
		public bool IsIdentity { get; set; }

		public ColumnAttribute()
		{
			Required = true;
		}

		public ColumnAttribute(string name) : this()
		{
			Name = name;
		}

		public ColumnAttribute(string name, bool required) : this(name)
		{
			Required = required;
		}
	}
}
